//package com.wzy.gateway;
//
//import org.reactivestreams.Subscriber;
//import org.reactivestreams.Subscription;
//import org.springframework.cloud.gateway.filter.ratelimit.KeyResolver;
//import org.springframework.web.server.ServerWebExchange;
//import reactor.core.publisher.Mono;
//
///**
// * 原因在于Mono.just会在声明阶段构造Date对象，只创建一次，
// * 但是Mono.defer却是在subscribe阶段才会创建对应的Date对象，
// * 每次调用subscribe方法都会创建Date对象
// */
//public class MyKeyResolver implements KeyResolver {
//    @Override
//    public Mono<String> resolve(ServerWebExchange exchange) {
//        Mono <String> user = Mono.just(exchange.getRequest().getQueryParams().getFirst("user"));
//        user.then();
//        user.subscribe(new Subscriber <String>() {
//            @Override
//            public void onSubscribe(Subscription subscription) {
//
//            }
//
//            @Override
//            public void onNext(String s) {
//
//            }
//
//            @Override
//            public void onError(Throwable throwable) {
//
//            }
//
//            @Override
//            public void onComplete() {
//
//            }
//        });
//        return null;
//    }
//}
